package com.guoxue.domain;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.Serializable;
import java.sql.Blob;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import org.hibernate.annotations.GenericGenerator;

/**
 * 由工具生成的java类,手工修改无效!
 * 
 * 
 */
@Entity
@Table(name = "propertyConfigVo")
public class PropertyConfigVo implements Cloneable, Serializable {
	// /////////////////////////////////////////////////////////////////////////////
	// --->字段定义:
	// /////////////////////////////////////////////////////////////////////////////
	/**
	 * 是否可以叠加
	 */
	private int isOverlay = 0;

	/**
	 * 叠加次数
	 */
	private int overlayCount = 0;

	/**
	 * 可增加人气值
	 */
	private String parameter1 = "";

	/**
	 * 道具时效
	 */
	private String parameter2 = "";

	/**
	 * 参数3
	 */
	private String parameter3 = "";

	/**
	 * 参数4
	 */
	private String parameter4 = "";

	/**
	 * 道具金币价格
	 */
	private int price = 0;

	/**
	 * 道具图片
	 */
	private String propIcon = "";

	/**
	 * 道具ID
	 */
	@Id
	private int propId;

	/**
	 * 道具名称
	 */
	private String propName = "";

	/**
	 * 道具类型
	 */
	private String propType = "";

	/**
	 * 记录状态,0表示正常,-0x10表示已删除
	 */
	private int sysflag = 0;

	// /////////////////////////////////////////////////////////////////////////////
	// --->getter and setter:
	// /////////////////////////////////////////////////////////////////////////////
	/**
	 * 是否可以叠加
	 */
	public int getIsOverlay() {
		return this.isOverlay;
	}

	/**
	 * 是否可以叠加
	 */
	public void setIsOverlay(int value_new_) {
		this.isOverlay = value_new_;
	}

	/**
	 * 叠加次数
	 */
	public int getOverlayCount() {
		return this.overlayCount;
	}

	/**
	 * 叠加次数
	 */
	public void setOverlayCount(int value_new_) {
		this.overlayCount = value_new_;
	}

	/**
	 * 参数1
	 */
	public String getParameter1() {
		return this.parameter1;
	}

	/**
	 * 参数1
	 */
	public void setParameter1(String value_new_) {
		this.parameter1 = value_new_;
	}

	/**
	 * 参数2
	 */
	public String getParameter2() {
		return this.parameter2;
	}

	/**
	 * 参数2
	 */
	public void setParameter2(String value_new_) {
		this.parameter2 = value_new_;
	}

	/**
	 * 参数3
	 */
	public String getParameter3() {
		return this.parameter3;
	}

	/**
	 * 参数3
	 */
	public void setParameter3(String value_new_) {
		this.parameter3 = value_new_;
	}

	/**
	 * 参数4
	 */
	public String getParameter4() {
		return this.parameter4;
	}

	/**
	 * 参数4
	 */
	public void setParameter4(String value_new_) {
		this.parameter4 = value_new_;
	}

	/**
	 * 道具金币价格
	 */
	public int getPrice() {
		return this.price;
	}

	/**
	 * 道具金币价格
	 */
	public void setPrice(int value_new_) {
		this.price = value_new_;
	}

	/**
	 * 道具图片
	 */
	public String getPropIcon() {
		return this.propIcon;
	}

	/**
	 * 道具图片
	 */
	public void setPropIcon(String value_new_) {
		this.propIcon = value_new_;
	}

	/**
	 * 道具ID
	 */
	public int getPropId() {
		return this.propId;
	}

	/**
	 * 道具ID
	 */
	public void setPropId(int value_new_) {
		this.propId = value_new_;
	}

	/**
	 * 道具名称
	 */
	public String getPropName() {
		return this.propName;
	}

	/**
	 * 道具名称
	 */
	public void setPropName(String value_new_) {
		this.propName = value_new_;
	}

	/**
	 * 道具类型
	 */
	public String getPropType() {
		return this.propType;
	}

	/**
	 * 道具类型
	 */
	public void setPropType(String value_new_) {
		this.propType = value_new_;
	}

	/**
	 * 记录状态,0表示正常,-0x10表示已删除
	 */
	public int getSysflag() {
		return this.sysflag;
	}

	/**
	 * 记录状态,0表示正常,-0x10表示已删除
	 */
	public void setSysflag(int value_new_) {
		this.sysflag = value_new_;
	}

	// /////////////////////////////////////////////////////////////////////////////
	// --->流读写方法和打印方法:
	// /////////////////////////////////////////////////////////////////////////////
	@Override
	public String toString() {
		final StringBuilder sb = new StringBuilder();
		final String info;

		sb.append(",isOverlay=" + this.isOverlay);
		sb.append(",overlayCount=" + this.overlayCount);
		sb.append(",parameter1=" + this.parameter1);
		sb.append(",parameter2=" + this.parameter2);
		sb.append(",parameter3=" + this.parameter3);
		sb.append(",parameter4=" + this.parameter4);
		sb.append(",price=" + this.price);
		sb.append(",propIcon=" + this.propIcon);
		sb.append(",propId=" + this.propId);
		sb.append(",propName=" + this.propName);
		sb.append(",propType=" + this.propType);
		sb.append(",sysflag=" + this.sysflag);

		info = sb.toString();
		return info;
	}

	// /////////////////////////////////////////////////////////////////////////////
	// --->clone and copy:
	// /////////////////////////////////////////////////////////////////////////////
	@Override
	public Object clone() throws CloneNotSupportedException {
		return (PropertyConfigVo) super.clone();
	}

	/**
	 * 令当前对象(this)成为指定对象(src)的拷贝
	 * 对简单数据类型的数组,进行深层复制
	 * 对dataMap数据,进行dataMap的整体复制
	 * @param src
	 */
	public void copyOf(PropertyConfigVo src){
		this.isOverlay = src.isOverlay;
		this.overlayCount = src.overlayCount;
		this.parameter1 = src.parameter1;
		this.parameter2 = src.parameter2;
		this.parameter3 = src.parameter3;
		this.parameter4 = src.parameter4;
		this.price = src.price;
		this.propIcon = src.propIcon;
		this.propId = src.propId;
		this.propName = src.propName;
		this.propType = src.propType;
		this.sysflag = src.sysflag;
	}

}
